##MILITARY DATASET

#Loading Libraries

library(tidyverse)
# SNC -> SINGLE NO CHILD; SC <- SINGLE WITH CHILD; JSM <- JOINT SERVICE MARRIAGE; CVM <- CIVILLIAN MARRIAGE; _M <- MALE; _F <- FEMALE; _T <- TOTAL
AirForce_MaritalStatus <- readxl::read_excel("_data/ActiveDuty_MaritalStatus.xls",
                                               sheet = "AirForce",
                                               skip = 9,
                                               col_names = c("d", "Pay Grade", "SNC_M", "SNC_F", "SNC_T", "SC_M", "SC_F", "SC_T", "JSM_M", "JSM_F", "JSM_T", "CVM_M", "CVM_F",                                                                 "CVM_T", "Total_M", "Total_F", "Total_T")
                                               ) %>%
                                               filter(! str_detect(`Pay Grade`,"TOTAL")) %>%
                                               select(! starts_with("d")) %>%
                                               cbind(Branch = "AirForce")

MarineCorps_MaritalStatus <- readxl::read_excel("_data/ActiveDuty_MaritalStatus.xls",
                                               sheet = "MarineCorps",
                                               skip = 9,
                                               col_names = c("d", "Pay Grade", "SNC_M", "SNC_F", "SNC_T", "SC_M", "SC_F", "SC_T", "JSM_M", "JSM_F", "JSM_T", "CVM_M", "CVM_F",                                                                 "CVM_T", "Total_M", "Total_F", "Total_T")
                                               ) %>%
                                               filter(! str_detect(`Pay Grade`,"TOTAL")) %>%
                                               select(! starts_with("d")) %>%
                                               cbind(Branch = "MarineCorps")

Navy_MaritalStatus <- readxl::read_excel("_data/ActiveDuty_MaritalStatus.xls",
                                               sheet = "Navy",
                                               skip = 9,
                                               col_names = c("d", "Pay Grade", "SNC_M", "SNC_F", "SNC_T", "SC_M", "SC_F", "SC_T", "JSM_M", "JSM_F", "JSM_T", "CVM_M", "CVM_F",                                                                 "CVM_T", "Total_M", "Total_F", "Total_T")
                                               ) %>%
                                               filter(! str_detect(`Pay Grade`,"TOTAL")) %>%
                                               select(! starts_with("d")) %>%
                                               cbind(Branch = "Navy")

Army_MaritalStatus <- readxl::read_excel("_data/ActiveDuty_MaritalStatus.xls",
                                               sheet = "Army",
                                               skip = 9,
                                               col_names = c("d", "Pay Grade", "SNC_M", "SNC_F", "SNC_T", "SC_M", "SC_F", "SC_T", "JSM_M", "JSM_F", "JSM_T", "CVM_M", "CVM_F",                                                                 "CVM_T", "Total_M", "Total_F", "Total_T")
                                               ) %>%
                                               filter(! str_detect(`Pay Grade`,"TOTAL")) %>%
                                               select(! starts_with("d")) %>%
                                               cbind(Branch = "Army")

Combined_MaritalStatus <- dplyr::bind_rows(AirForce_MaritalStatus, MarineCorps_MaritalStatus, Navy_MaritalStatus, Army_MaritalStatus) %>%
  arrange(`Pay Grade`) %>%
  #mutate(SNC_R = SNC_M/SNC_F, SC_R = SC_M/SC_F, JSM_R = JSM_M/JSM_F, CVM_R = CVM_M/CVM_F, Total_R = Total_M/Total_F) %>%
  select(! contains("_T")) #%>%
  #select(! contains("_F"))
Combined_MaritalStatus <- Combined_MaritalStatus[,c("Pay Grade", "Branch", "SNC_M", "SNC_F", "SC_M", "SC_F", "JSM_M", "JSM_F", "CVM_M", "CVM_F", "Total_M", "Total_F")]
#Combined_MaritalStatus
Combined_MaritalStatus <- Combined_MaritalStatus %>%
  mutate(Grade = str_extract(`Pay Grade`, '[^-]*$'), Type = str_extract(`Pay Grade`, '^[^-]*[^ -]')) %>%
  select(! contains("Pay")) %>%
  select(! contains("Total"))
Combined_MaritalStatus <- Combined_MaritalStatus[, c("Type", "Grade", "Branch", "SNC_M", "SNC_F", "SC_M", "SC_F", "JSM_M", "JSM_F", "CVM_M", "CVM_F")]
#Combined_MaritalStatus
## pivot (newer functions longer and wider), name_palette
Combined_MaritalStatus <- Combined_MaritalStatus %>%
  pivot_longer(SNC_M:CVM_F, values_to = "Enrolled", names_to = "Status") %>%
  mutate(
    Plan = ifelse(as.character(Status) == "SNC_M" | as.character(Status) == "SNC_F" , "Single", "Family"), 
    Gender = str_extract(as.character(Status), "[^_]*$"),
    Status = ifelse(str_detect(as.character(Status), "S"), "Single", "Married"),
    Enrolled = as.numeric(Enrolled)
    ) %>%
  filter(! Enrolled == 0)
Combined_MaritalStatus %>%
  mutate(Enrolled = log2(Enrolled)) %>%
  ggplot(aes(x = Gender, y = Enrolled, fill = Gender)) + 
  geom_bar(stat = "identity")+
  facet_wrap(vars(Type)) +
  scale_fill_hue(c = 40) +
  labs(title = "Type vs Gender Enrolled") +
  theme_minimal()

Combined_MaritalStatus %>%
  mutate(Enrolled = log2(Enrolled)) %>%
  ggplot(aes(x = Gender, y = Enrolled, fill = Gender)) + 
  geom_bar(stat = "identity")+
  facet_wrap(vars(Status)) +
  scale_fill_hue(c = 40) +
  labs(title = "Type vs Marital Status Enrolled") +
  theme_minimal()


Combined_MaritalStatus %>%
  mutate(Enrolled = log2(Enrolled)) %>%
  ggplot(aes(x = Gender, y = Enrolled, fill = Gender)) + 
  geom_bar(stat = "identity")+
  facet_wrap(vars(Plan)) +
  scale_fill_hue(c = 40) +
  labs(title = "Type vs Status Enrolled") +
  theme_minimal()

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KIyNNSUxJVEFSWSBEQVRBU0VUDQoNCiNMb2FkaW5nIExpYnJhcmllcw0KYGBge3J9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmBgYA0KDQpgYGB7cn0NCiMgU05DIC0+IFNJTkdMRSBOTyBDSElMRDsgU0MgPC0gU0lOR0xFIFdJVEggQ0hJTEQ7IEpTTSA8LSBKT0lOVCBTRVJWSUNFIE1BUlJJQUdFOyBDVk0gPC0gQ0lWSUxMSUFOIE1BUlJJQUdFOyBfTSA8LSBNQUxFOyBfRiA8LSBGRU1BTEU7IF9UIDwtIFRPVEFMDQpBaXJGb3JjZV9NYXJpdGFsU3RhdHVzIDwtIHJlYWR4bDo6cmVhZF9leGNlbCgiX2RhdGEvQWN0aXZlRHV0eV9NYXJpdGFsU3RhdHVzLnhscyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoZWV0ID0gIkFpckZvcmNlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcCA9IDksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF9uYW1lcyA9IGMoImQiLCAiUGF5IEdyYWRlIiwgIlNOQ19NIiwgIlNOQ19GIiwgIlNOQ19UIiwgIlNDX00iLCAiU0NfRiIsICJTQ19UIiwgIkpTTV9NIiwgIkpTTV9GIiwgIkpTTV9UIiwgIkNWTV9NIiwgIkNWTV9GIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDVk1fVCIsICJUb3RhbF9NIiwgIlRvdGFsX0YiLCAiVG90YWxfVCIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgJT4lDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcighIHN0cl9kZXRlY3QoYFBheSBHcmFkZWAsIlRPVEFMIikpICU+JQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QoISBzdGFydHNfd2l0aCgiZCIpKSAlPiUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2JpbmQoQnJhbmNoID0gIkFpckZvcmNlIikNCg0KTWFyaW5lQ29ycHNfTWFyaXRhbFN0YXR1cyA8LSByZWFkeGw6OnJlYWRfZXhjZWwoIl9kYXRhL0FjdGl2ZUR1dHlfTWFyaXRhbFN0YXR1cy54bHMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVldCA9ICJNYXJpbmVDb3JwcyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXAgPSA5LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfbmFtZXMgPSBjKCJkIiwgIlBheSBHcmFkZSIsICJTTkNfTSIsICJTTkNfRiIsICJTTkNfVCIsICJTQ19NIiwgIlNDX0YiLCAiU0NfVCIsICJKU01fTSIsICJKU01fRiIsICJKU01fVCIsICJDVk1fTSIsICJDVk1fRiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ1ZNX1QiLCAiVG90YWxfTSIsICJUb3RhbF9GIiwgIlRvdGFsX1QiKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApICU+JQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoISBzdHJfZGV0ZWN0KGBQYXkgR3JhZGVgLCJUT1RBTCIpKSAlPiUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0KCEgc3RhcnRzX3dpdGgoImQiKSkgJT4lDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNiaW5kKEJyYW5jaCA9ICJNYXJpbmVDb3JwcyIpDQoNCk5hdnlfTWFyaXRhbFN0YXR1cyA8LSByZWFkeGw6OnJlYWRfZXhjZWwoIl9kYXRhL0FjdGl2ZUR1dHlfTWFyaXRhbFN0YXR1cy54bHMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVldCA9ICJOYXZ5IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcCA9IDksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF9uYW1lcyA9IGMoImQiLCAiUGF5IEdyYWRlIiwgIlNOQ19NIiwgIlNOQ19GIiwgIlNOQ19UIiwgIlNDX00iLCAiU0NfRiIsICJTQ19UIiwgIkpTTV9NIiwgIkpTTV9GIiwgIkpTTV9UIiwgIkNWTV9NIiwgIkNWTV9GIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDVk1fVCIsICJUb3RhbF9NIiwgIlRvdGFsX0YiLCAiVG90YWxfVCIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgJT4lDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcighIHN0cl9kZXRlY3QoYFBheSBHcmFkZWAsIlRPVEFMIikpICU+JQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QoISBzdGFydHNfd2l0aCgiZCIpKSAlPiUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2JpbmQoQnJhbmNoID0gIk5hdnkiKQ0KDQpBcm15X01hcml0YWxTdGF0dXMgPC0gcmVhZHhsOjpyZWFkX2V4Y2VsKCJfZGF0YS9BY3RpdmVEdXR5X01hcml0YWxTdGF0dXMueGxzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hlZXQgPSAiQXJteSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXAgPSA5LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfbmFtZXMgPSBjKCJkIiwgIlBheSBHcmFkZSIsICJTTkNfTSIsICJTTkNfRiIsICJTTkNfVCIsICJTQ19NIiwgIlNDX0YiLCAiU0NfVCIsICJKU01fTSIsICJKU01fRiIsICJKU01fVCIsICJDVk1fTSIsICJDVk1fRiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ1ZNX1QiLCAiVG90YWxfTSIsICJUb3RhbF9GIiwgIlRvdGFsX1QiKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApICU+JQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoISBzdHJfZGV0ZWN0KGBQYXkgR3JhZGVgLCJUT1RBTCIpKSAlPiUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0KCEgc3RhcnRzX3dpdGgoImQiKSkgJT4lDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNiaW5kKEJyYW5jaCA9ICJBcm15IikNCmBgYA0KYGBge3J9DQoNCkNvbWJpbmVkX01hcml0YWxTdGF0dXMgPC0gZHBseXI6OmJpbmRfcm93cyhBaXJGb3JjZV9NYXJpdGFsU3RhdHVzLCBNYXJpbmVDb3Jwc19NYXJpdGFsU3RhdHVzLCBOYXZ5X01hcml0YWxTdGF0dXMsIEFybXlfTWFyaXRhbFN0YXR1cykgJT4lDQogIGFycmFuZ2UoYFBheSBHcmFkZWApICU+JQ0KICAjbXV0YXRlKFNOQ19SID0gU05DX00vU05DX0YsIFNDX1IgPSBTQ19NL1NDX0YsIEpTTV9SID0gSlNNX00vSlNNX0YsIENWTV9SID0gQ1ZNX00vQ1ZNX0YsIFRvdGFsX1IgPSBUb3RhbF9NL1RvdGFsX0YpICU+JQ0KICBzZWxlY3QoISBjb250YWlucygiX1QiKSkgIyU+JQ0KICAjc2VsZWN0KCEgY29udGFpbnMoIl9GIikpDQpDb21iaW5lZF9NYXJpdGFsU3RhdHVzIDwtIENvbWJpbmVkX01hcml0YWxTdGF0dXNbLGMoIlBheSBHcmFkZSIsICJCcmFuY2giLCAiU05DX00iLCAiU05DX0YiLCAiU0NfTSIsICJTQ19GIiwgIkpTTV9NIiwgIkpTTV9GIiwgIkNWTV9NIiwgIkNWTV9GIiwgIlRvdGFsX00iLCAiVG90YWxfRiIpXQ0KI0NvbWJpbmVkX01hcml0YWxTdGF0dXMNCmBgYA0KYGBge3J9DQpDb21iaW5lZF9NYXJpdGFsU3RhdHVzIDwtIENvbWJpbmVkX01hcml0YWxTdGF0dXMgJT4lDQogIG11dGF0ZShHcmFkZSA9IHN0cl9leHRyYWN0KGBQYXkgR3JhZGVgLCAnW14tXSokJyksIFR5cGUgPSBzdHJfZXh0cmFjdChgUGF5IEdyYWRlYCwgJ15bXi1dKlteIC1dJykpICU+JQ0KICBzZWxlY3QoISBjb250YWlucygiUGF5IikpICU+JQ0KICBzZWxlY3QoISBjb250YWlucygiVG90YWwiKSkNCkNvbWJpbmVkX01hcml0YWxTdGF0dXMgPC0gQ29tYmluZWRfTWFyaXRhbFN0YXR1c1ssIGMoIlR5cGUiLCAiR3JhZGUiLCAiQnJhbmNoIiwgIlNOQ19NIiwgIlNOQ19GIiwgIlNDX00iLCAiU0NfRiIsICJKU01fTSIsICJKU01fRiIsICJDVk1fTSIsICJDVk1fRiIpXQ0KI0NvbWJpbmVkX01hcml0YWxTdGF0dXMNCmBgYA0KYGBge3J9DQojIyBwaXZvdCAobmV3ZXIgZnVuY3Rpb25zIGxvbmdlciBhbmQgd2lkZXIpLCBuYW1lX3BhbGV0dGUNCkNvbWJpbmVkX01hcml0YWxTdGF0dXMgPC0gQ29tYmluZWRfTWFyaXRhbFN0YXR1cyAlPiUNCiAgcGl2b3RfbG9uZ2VyKFNOQ19NOkNWTV9GLCB2YWx1ZXNfdG8gPSAiRW5yb2xsZWQiLCBuYW1lc190byA9ICJTdGF0dXMiKSAlPiUNCiAgbXV0YXRlKA0KICAgIFBsYW4gPSBpZmVsc2UoYXMuY2hhcmFjdGVyKFN0YXR1cykgPT0gIlNOQ19NIiB8IGFzLmNoYXJhY3RlcihTdGF0dXMpID09ICJTTkNfRiIgLCAiU2luZ2xlIiwgIkZhbWlseSIpLCANCiAgICBHZW5kZXIgPSBzdHJfZXh0cmFjdChhcy5jaGFyYWN0ZXIoU3RhdHVzKSwgIlteX10qJCIpLA0KICAgIFN0YXR1cyA9IGlmZWxzZShzdHJfZGV0ZWN0KGFzLmNoYXJhY3RlcihTdGF0dXMpLCAiUyIpLCAiU2luZ2xlIiwgIk1hcnJpZWQiKSwNCiAgICBFbnJvbGxlZCA9IGFzLm51bWVyaWMoRW5yb2xsZWQpDQogICAgKSAlPiUNCiAgZmlsdGVyKCEgRW5yb2xsZWQgPT0gMCkNCmBgYA0KYGBge3J9DQpDb21iaW5lZF9NYXJpdGFsU3RhdHVzICU+JQ0KICBtdXRhdGUoRW5yb2xsZWQgPSBsb2cyKEVucm9sbGVkKSkgJT4lDQogIGdncGxvdChhZXMoeCA9IEdlbmRlciwgeSA9IEVucm9sbGVkLCBmaWxsID0gR2VuZGVyKSkgKyANCiAgZ2VvbV9iYXIoc3RhdCA9ICJpZGVudGl0eSIpKw0KICBmYWNldF93cmFwKHZhcnMoVHlwZSkpICsNCiAgc2NhbGVfZmlsbF9odWUoYyA9IDQwKSArDQogIGxhYnModGl0bGUgPSAiVHlwZSB2cyBHZW5kZXIgRW5yb2xsZWQiKSArDQogIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNCmBgYHtyfQ0KQ29tYmluZWRfTWFyaXRhbFN0YXR1cyAlPiUNCiAgbXV0YXRlKEVucm9sbGVkID0gbG9nMihFbnJvbGxlZCkpICU+JQ0KICBnZ3Bsb3QoYWVzKHggPSBHZW5kZXIsIHkgPSBFbnJvbGxlZCwgZmlsbCA9IEdlbmRlcikpICsgDQogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSsNCiAgZmFjZXRfd3JhcCh2YXJzKFN0YXR1cykpICsNCiAgc2NhbGVfZmlsbF9odWUoYyA9IDQwKSArDQogIGxhYnModGl0bGUgPSAiVHlwZSB2cyBNYXJpdGFsIFN0YXR1cyBFbnJvbGxlZCIpICsNCiAgdGhlbWVfbWluaW1hbCgpDQoNCkNvbWJpbmVkX01hcml0YWxTdGF0dXMgJT4lDQogIG11dGF0ZShFbnJvbGxlZCA9IGxvZzIoRW5yb2xsZWQpKSAlPiUNCiAgZ2dwbG90KGFlcyh4ID0gR2VuZGVyLCB5ID0gRW5yb2xsZWQsIGZpbGwgPSBHZW5kZXIpKSArIA0KICBnZW9tX2JhcihzdGF0ID0gImlkZW50aXR5IikrDQogIGZhY2V0X3dyYXAodmFycyhQbGFuKSkgKw0KICBzY2FsZV9maWxsX2h1ZShjID0gNDApICsNCiAgbGFicyh0aXRsZSA9ICJUeXBlIHZzIFN0YXR1cyBFbnJvbGxlZCIpICsNCiAgdGhlbWVfbWluaW1hbCgpDQpgYGANCg0K